const { Switch, Method } = require("../lib/types")

module.exports = {
    name: "core",
    map: {
        include: [String, , "base"],
        error_log: [String, "logs/error.log error", ["main", "http", "server", "location", "stream", "mail"]],
        
        user: [String, "nobody nobody", "main"],
        daemon: [Switch, true, "main"],
        env: [String, "TZ", "main"],
        debug_points: [String, , "main"],
        master_process: [Switch, true, "main"],
        worker_processes: [[Number, String], 1, "main"],
        worker_cpu_affinity: [String, , "main"],
        worker_rlimit_core: [String, , "main"],
        worker_rlimit_nofile: [Number, , "main"],
        worker_priority: [Number, 0, "main"],
        worker_shutdown_timeout: [String, , "main"],
        load_module: [String, , "main"],
        lock_file: [String, "logs/nginx.lock", "main"],
        pcre_jit: [Switch, false, "main"],
        pid: [String, "logs/nginx.pid", "main"],
        ssl_engine: [String, , "main"],
        thread_pool: [String, "default threads=32 max_queue=65536", "main"],
        working_directory: [String, , "main"],
        timer_resolution: [String, , "main"],  //100ms

        use: [Method, , "events"],
        worker_connections: [Number, 512, "events"],
        worker_aio_requests: [Number, 32, "events"],
        multi_accept: [Switch, false, "events"],
        accept_mutex: [Switch, false, "events"],
        accept_mutex_delay: [String, "500ms", "events"],
        debug_connection: [String, , "events"]
    }
};